home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 9 / Night Owl CD-ROM (NOPV9) (Night Owl Publisher) (1993).ISO / 051a / tbav603.zip / TBSCANX.DOC < prev    next >
Text File  |  1993-06-15  |  27KB  |  901 lines

  1.  
  2.  
  3.  Thunderbyte resident virus scanner. (C) 1989-1993 Thunderbyte B.V.
  4.  
  5.  
  6.                                Table of Contents
  7.  
  8.  
  9.     1. INTRODUCTION...................................... 2
  10.         1.1. Purpose of TbScanX.......................... 2
  11.         1.2. A Quick start............................... 2
  12.         1.3. Benefits.................................... 2
  13.  
  14.     2. USAGE OF THE PROGRAM.............................. 4
  15.         2.1. System requirements......................... 4
  16.         2.2. Program invocation.......................... 4
  17.             2.2.1. Invocation in Config.Sys.............. 5
  18.             2.2.2. Invocation in network environment..... 5
  19.             2.2.3. Invocation when using MS-Windows...... 5
  20.         2.3. While scanning.............................. 5
  21.         2.4. Detecting viruses........................... 5
  22.         2.5. Command line options........................ 6
  23.             2.5.1. help ................................. 6
  24.             2.5.2. off .................................. 6
  25.             2.5.3. on ................................... 7
  26.             2.5.4. remove ............................... 7
  27.             2.5.5. compat ............................... 7
  28.             2.5.6. noexec ............................... 7
  29.             2.5.7. allexec .............................. 7
  30.             2.5.8. noboot ............................... 7
  31.             2.5.9. secure ............................... 8
  32.             2.5.10. lock ................................ 8
  33.             2.5.11. ems ................................. 8
  34.             2.5.12. xms ................................. 8
  35.         2.6. Examples:................................... 8
  36.         2.7. Error messages.............................. 8
  37.  
  38.     3. CONSIDERATIONS AND RECOMMENDATIONS............... 10
  39.         3.1. Solving incompatibility problems........... 10
  40.         3.2. Reducing the memory requirements........... 11
  41.         3.3. How many viruses does it detect?........... 12
  42.  
  43.     4. APPLICATION INTERFACE............................ 13
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.                                      Page i
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.                                      Page 1
  122.  
  123.  Thunderbyte resident virus scanner. (C) 1989-1993 Thunderbyte B.V.
  124.  
  125.  
  126. 1.  INTRODUCTION
  127.  
  128.  
  129.   1.1.  Purpose of TbScanX
  130.  
  131.     By now already many virus scanners have been developed. The problem
  132.     with all these scanners is that you have to execute them. Suppose
  133.     you have the virus scanner automatically invoked in your
  134.     autoexec.bat file. If no viruses are found, your system is supposed
  135.     to be uninfected. But, to be sure that no virus can infect your
  136.     system, you have to run the scanner every time before you copy a
  137.     file to your harddisk, after downloading a file from a bulletin
  138.     board system, or after unarchiving an archive such as a ZIP file.
  139.     Be honest, do YOU actually invoke your scanner every time you
  140.     introduce a new file into the system?  If you don't, you take the
  141.     risk that within a couple of hours all files are infected by a
  142.     virus...
  143.  
  144.     TbScanX has a unique feature to overcome this tedious scanning.
  145.     Once invoked it will remain resident in memory, and AUTOMATICALLY
  146.     scan all files you execute and all executable files you copy,
  147.     create, download, modify, or unarchive!
  148.  
  149.     The same approach is used to protect against bootsector viruses:
  150.     Every time you put a diskette into a drive the bootsector will be
  151.     scanned. If the disk is contaminated with a boot sector virus
  152.     TbScanX will warn you in time!
  153.  
  154.     The amount of memory TbScanX requires depends on the number of
  155.     signatures.  With all features enabled TbScanX uses 20Kb of memory
  156.     when scanning for 750 family signatures. If you enable swapping
  157.     TbScanX normally uses only 1Kb of memory. You can swap to EMS and
  158.     XMS memory. Of course the remaining kilobyte of TbScanX can be
  159.     loaded in upper memory.
  160.  
  161.  
  162.   1.2.  A Quick start
  163.  
  164.     Although we highly recommend a complete reading of this manual, here
  165.     are some directions for a quick run of TbScanX:
  166.  
  167.     Load TbDriver first if it is not yet loaded. Type "TbDriver" and
  168.     press return.
  169.     To load TbScanX type "TbScanX" and press return.
  170.  
  171.     The invocation syntax is:
  172.             TBSCANX [<options>]...
  173.  
  174.     For fast online help type "TbScanX ?" or "TbScanX help".
  175.  
  176.  
  177.   1.3.  Benefits
  178.  
  179.  
  180.  
  181.                                      Page 2
  182.  
  183.  Thunderbyte resident virus scanner. (C) 1989-1993 Thunderbyte B.V.
  184.  
  185.  
  186.     By now many different virus scanners have been developed.  However,
  187.     TbScanX has a number of important and unique advantages over other
  188.     scanners. These are:
  189.  
  190.         TbScanX is fully network compatible. It does not require you to
  191.         reload the scanner after logging on to the network. Other
  192.         resident anti-virus utilities force you to choose between
  193.         protection before the network is started, or protection after
  194.         the network is started, but not both.
  195.  
  196.         TbScanX can display its messages in your local language.
  197.  
  198.         As new viruses spread quickly there is often no time available
  199.         to continually adapt your own virus checker in order to make it
  200.         capable of recognizing each new virus as it appears. That is
  201.         why TbScanX uses a separate data file listing the signatures of
  202.         all known viruses. This file can be adapted quickly, possibly
  203.         by yourself.
  204.  
  205.         TbScanX offers other software a universal hook to scan data
  206.         for viruses.  If you are a programmer, you can instruct your
  207.         programs to scan information read from disk for viruses before
  208.         using the data.
  209.  
  210.         TbScanX does not use much memory compared to other resident
  211.         virus scanners. On almost every machine it should be possible
  212.         to configure TbScanX that it uses only 1Kb of memory. Of course
  213.         you can also load this kilobyte into upper memory.
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.                                      Page 3
  242.  
  243.  Thunderbyte resident virus scanner. (C) 1989-1993 Thunderbyte B.V.
  244.  
  245.  
  246. 2.  USAGE OF THE PROGRAM
  247.  
  248.  
  249.   2.1.  System requirements
  250.  
  251.     TbScanX runs perfectly on standard machines, in line with our
  252.     philosophy that there should be a limit to limitations.
  253.  
  254.     +   TbScanX can be executed under DOS version 3.00 (and all later
  255.         versions). However, Dos 5.0 or higher is recommended, since
  256.         TbScanX has been optimized and designed primarily for use with
  257.         these DOS versions.
  258.  
  259.     +   TbScanX requires about 10 Kb of free memory to be invoked. If
  260.         you enable swapping it does NOT require additional standard DOS
  261.         memory to initialise itself. If you don't enable swapping the
  262.         amount of memory depends on the amount of signatures in the
  263.         data file. TbScanX can handle up to approximately 2500
  264.         signatures, depending on which swapping mode is used. Without
  265.         swapping mode TbScanX can utilize up to 50Kb, when swapping to
  266.         expanded memory 64Kb and when swapping to extended memory 50Kb.
  267.  
  268.  
  269.   2.2.  Program invocation
  270.  
  271.     It is recommended to invoke TbScanX automatically from within your
  272.     Config.Sys or Autoexec.Bat file. It is important to invoke TbScanX
  273.     as early as possible after the machine has booted. For that reason
  274.     it is possible to invoke TbScanX from within the Config.Sys file.
  275.  
  276.     TbScanX requires TbDriver to be loaded first!
  277.  
  278.     TbScanX is easy to use. The syntax is as follows:
  279.             TBSCANX [<options>]...
  280.  
  281.     There are three possible ways to invoke TbScanX:
  282.  
  283.     To invoke TbScanX from the DOS prompt or within the Autoexec.Bat
  284.     file:
  285.             <path>TbScanX
  286.  
  287.     To invoke TbScanX from the Config.Sys as a TSR (Dos 4+):
  288.             Install=<path>TbScanX.Exe
  289.  
  290.     To invoke TbScanX from the Config.Sys as a device driver:
  291.             Device=<path>TbScanX.Exe
  292.  
  293.     TbScanX should always work correctly after being started from
  294.     within the Autoexec.Bat. The "Install=" Config.Sys command is
  295.     NOT available in DOS 3.xx.
  296.     In addition to the three invocation possibilities DOS 5 users can
  297.     "highload" TbScanX in an UMB (upper memory block) if it is
  298.  
  299.  
  300.  
  301.                                      Page 4
  302.  
  303.  Thunderbyte resident virus scanner. (C) 1989-1993 Thunderbyte B.V.
  304.  
  305.  
  306.     available:
  307.             LoadHigh <path>TbScanX.Exe
  308.     Within the Config.Sys file TbScanX can also be loaded high:
  309.             DeviceHigh=<path>TbScanX.Exe
  310.  
  311.    2.2.1.  Invocation in Config.Sys
  312.  
  313.     -> Invoking TbScanX as a device driver does not work in all OEM
  314.        versions of DOS. You have to try it, if it doesn't work use the
  315.        "Install=" command or load TbScanX from within the Autoexec.Bat.
  316.  
  317.    2.2.2.  Invocation in network environment
  318.  
  319.     -> Unlike other anti-virus products, the Thunderbyte anti-virus
  320.        utlities can be loaded before the network is started without
  321.        loosing the protection after the network is started.
  322.  
  323.    2.2.3.  Invocation when using MS-Windows
  324.  
  325.     -> Windows users should invoke TbScanX BEFORE starting Windows.
  326.        If you do that there is only one copy of TbScanX in memory, but
  327.        every DOS-window will nevertheless have a fully functional
  328.        TbScanX in it.  TbScanX detects if Windows is starting up, and
  329.        will switch itself in multitasking mode if necessary. You can
  330.        even disable TbScanX in one window without affecting the
  331.        functionality in another window.
  332.  
  333.  
  334.   2.3.  While scanning
  335.  
  336.     Whenever a program tries to write to an executable file (files with
  337.     the extensions .COM and .EXE), you will shortly see the text
  338.     "*Scanning*" in the upper left corner of your screen.  As long as
  339.     TbScanX is scanning this text will appear. Since TbScanX takes very
  340.     little time to scan the file, the message will only appear shortly.
  341.     The text "*Scanning*" will also appear if you execute a program
  342.     directly from a diskette, and if DOS accesses the bootsector of a
  343.     diskette drive.
  344.  
  345.  
  346.   2.4.  Detecting viruses
  347.  
  348.     If TbScanX detects a signature going to be written into a file,
  349.     a popup window will appear with the message:
  350.  
  351.         WARNING, <filename> contains <virus name>!
  352.         Abort? (Y/n)
  353.  
  354.     Press "N" to continue, press any other key to abort.
  355.  
  356.     If TbScanX detects a signature in a boot sector, it will display the
  357.     message:
  358.  
  359.  
  360.  
  361.                                      Page 5
  362.  
  363.  Thunderbyte resident virus scanner. (C) 1989-1993 Thunderbyte B.V.
  364.  
  365.  
  366.         WARNING, Disk in <drive> contains <virus name>!
  367.         Press a key...
  368.  
  369.     Although a virus seems to be on the bootsector of the specified
  370.     drive, the virus can not do anything since it has not been executed
  371.     yet.  However, if you reboot the machine with the contaminated
  372.     diskette in the drive, the virus will copy itself to your harddisk.
  373.  
  374.     To display the name of the virus, TbScanX needs the signature file
  375.     again.  It will automatically use the signature file that was used
  376.     when you invoked the program.  If the signature file is missing
  377.     (because you deleted it, or because you removed the floppy with
  378.     it), or no file handles are left, TbScanX will still detect
  379.     viruses, but it is no longer able to display the name of the virus.
  380.     It will display [Name unknown] instead.
  381.  
  382.  
  383.   2.5.  Command line options
  384.  
  385.     It is possible to specify options on the command line. The upper
  386.     four options are always available, the other options are only
  387.     available if TbScanX is not already resident in memory.
  388.  
  389.     optionword   short  explanation
  390.     ----------   ----- -------------------------------------
  391.  
  392.         help       ?   =display this helpscreen
  393.         off        d   =disable scanning
  394.         on         e   =enable scanning
  395.         remove     r   =remove TbScanX from memory
  396.  
  397.         noexec     n   =never scan at execute
  398.         allexec    a   =always scan at execute
  399.         noboot     b   =do not scan bootsectors
  400.         ems        me  =use expanded memory (EMS)
  401.         xms        mx  =use extended memory (XMS)
  402.         secure     s   =deny access without asking
  403.         lock       l   =lock PC when virus detected
  404.         compat     c   =increased compatibility
  405.  
  406.  
  407.    2.5.1.  help (?)
  408.  
  409.     If you specify this option TbScanX will show you the brief help as
  410.     shown above. Once TbScanX has been loaded the help option will not
  411.     show all options anymore.
  412.  
  413.    2.5.2.  off (d)
  414.  
  415.     If you specify this option TbScanX will be disabled, but it will
  416.     remain in memory.
  417.  
  418.  
  419.  
  420.  
  421.                                      Page 6
  422.  
  423.  Thunderbyte resident virus scanner. (C) 1989-1993 Thunderbyte B.V.
  424.  
  425.  
  426.    2.5.3.  on (e)
  427.  
  428.     If you use this option TbScanX will be activated again after you
  429.     disabled it with the 'off' option.
  430.  
  431.    2.5.4.  remove (r)
  432.  
  433.     This option can be used to remove the resident part of TbScanX from
  434.     your memory.  All memory used by TbScanX will be released.
  435.     Unfortunately, the removing of a TSR (like TbScanX) is not always
  436.     possible.  TbScanX checks whether it is safe to remove the resident
  437.     part from memory, if it is not safe it just disables TbScanX. A TSR
  438.     can not be removed if another TSR is started after it.  If this
  439.     happens with TbScanX it will completely disable itself. The
  440.     character device "SCANX" will disappear also.
  441.  
  442.    2.5.5.  compat (c)
  443.  
  444.     In most systems TbScanX performs very well. It is however possible
  445.     that another TSR program conflicts with TbScanX. If the other TSR
  446.     is loaded first, TbScanX will normally detect the conflict and use
  447.     an alternate interrupt. If the other TSR is loaded after TbScanX,
  448.     and it does abort with a message telling you that it has already
  449.     been loaded, you can use the 'compat' switch of TbScanX (when
  450.     installing it in memory).
  451.  
  452.     It is also possible that TbScanX conflicts with other EMS or XMS
  453.     using resident software. In this case the system will hang. Option
  454.     'compat' will solve this problem, but due to extensive memory
  455.     swapping the performance of TbScanX will slow down.
  456.  
  457.    2.5.6.  noexec (n)
  458.  
  459.     TbScanX normally scans files located on removable media just before
  460.     they are executed.  If you don't like that you can use this option
  461.     to disable this feature completely.
  462.  
  463.    2.5.7.  allexec (a)
  464.  
  465.     TbScanX normally scans files to be executed only if they reside on
  466.     removable media. Files on the harddisk are trusted, because files
  467.     on the harddisk have to be copied or downloaded before they can
  468.     exist on your disk. And by that time TbScanX already scanned them
  469.     automatically. But if you also like every file to be scanned before
  470.     it will be executed, no matter whether they reside on harddisk or
  471.     removable media, you should use this option.
  472.  
  473.    2.5.8.  noboot (b)
  474.  
  475.     TbScanX monitors the disk system:  every time the bootsector is
  476.     being read, TbScanX automatically scans it for bootsector viruses.
  477.     If you change a disk, the first thing DOS has to do is read the
  478.  
  479.  
  480.  
  481.                                      Page 7
  482.  
  483.  Thunderbyte resident virus scanner. (C) 1989-1993 Thunderbyte B.V.
  484.  
  485.  
  486.     bootsector, otherwise it does not know what kind of disk is in the
  487.     drive. And as soon as DOS reads the bootsector, TbScanX checks it
  488.     for viruses.  If you don't like this feature, or if it causes
  489.     problems, you can switch it off using the 'noboot' option. If
  490.     you specify this option TbScanX will also require less memory,
  491.     because the bootsector signatures will not be stored in memory.
  492.  
  493.    2.5.9.  secure (s)
  494.  
  495.     TbScanX normally asks the user to continue or to cancel when it
  496.     detects a virus. In some business environments however this choice
  497.     should not be made by employees.  By using option 'secure' it is no
  498.     longer possible to allow suspicious operations.
  499.  
  500.    2.5.10.  lock (l)
  501.  
  502.     If you are a system operator, you can use this option to instruct
  503.     TbScanX to lock the system once a virus is detected.
  504.  
  505.    2.5.11.  ems (me)
  506.  
  507.     If you specify this option TbScanX will use expanded memory (like
  508.     provided by LIM/EMS expansion boards or 80386 memory managers) to
  509.     store the signatures and part of its program code.  Expanded memory
  510.     is allocated in 16Kb blocks. Since conventional memory is more
  511.     valuable to your programs than expanded memory, use of EMS
  512.     memory is recommended. TbScanX can use up to 64Kb of EMS memory.
  513.  
  514.    2.5.12.  xms (mx)
  515.  
  516.     If you specify this option TbScanX will use extended memory to
  517.     store the signatures and part of its program code. An XMS driver
  518.     (like HIMEM.SYS) needs to be installed to be able to use this
  519.     option.  XMS memory is not directly accessable from within DOS, so
  520.     every time TbScanX has to scan data it has to copy the signatures
  521.     to conventional memory.  To be able to save the original memory
  522.     contents TbScanX needs a double amount of XMS memory. Swapping to
  523.     XMS is slower than swapping to EMS memory, so if you have EMS
  524.     memory available swapping to EMS is recommended. It is possible
  525.     that swapping to XMS conflicts with some other software, so if you
  526.     experience problems try using TbScanX without the XMS option.
  527.     TbScanX can use about 2*50Kb of extended memory.
  528.  
  529.  
  530.   2.6.  Examples:
  531.  
  532.         Device=C:\utils\TbScanX.Exe C:\tb\TbScan.Dat xms noboot
  533.  
  534.  
  535.   2.7.  Error messages
  536.  
  537.     Error messages that might be displayed:
  538.  
  539.  
  540.  
  541.                                      Page 8
  542.  
  543.  Thunderbyte resident virus scanner. (C) 1989-1993 Thunderbyte B.V.
  544.  
  545.  
  546.     -   TbDriver not active. Load TbDriver first!
  547.         TbScanX needs TbDriver, so you have to load TbDriver first.
  548.  
  549.     -   TbDriver version is not <version>.
  550.         The version of TbDriver found in memory does not match the
  551.         version number of TbScanX. Make sure you do not mix version
  552.         numbers!
  553.  
  554.     -   Not enough memory
  555.         There is not enough free memory to process the data file. Try
  556.         to enable swapping, or if you are already doing so, try another
  557.         swapping mode. See also chapter "limitations".
  558.  
  559.     -   Data file not found.
  560.         TbScanX has not been able to locate the data file.
  561.  
  562.     -   This version of TbScanX requires a <typeID> processor.
  563.         You are using a processor optimized version of TbScanX and
  564.         it can not be executed by the current processor.
  565.  
  566.  
  567.  
  568.  
  569.  
  570.  
  571.  
  572.  
  573.  
  574.  
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599.  
  600.  
  601.                                      Page 9
  602.  
  603.  Thunderbyte resident virus scanner. (C) 1989-1993 Thunderbyte B.V.
  604.  
  605.  
  606. 3.  CONSIDERATIONS AND RECOMMENDATIONS
  607.  
  608.  
  609.   3.1.  Solving incompatibility problems.
  610.  
  611.     Although TbScanX has been designed to cooperate with other resident
  612.     software, other software may not, causing system errors or worse.
  613.  
  614.     The most common problems:
  615.  
  616.     Problem:
  617.         If TbScanX tries to display a message, the text 'message file
  618.         <filename> could not be opened' appears.
  619.  
  620.     Solution:
  621.         Specify the FULL path and filename of the file that you will
  622.         use as message file after the TbDriver invocation. The default
  623.         filename is TbDriver.Lng
  624.  
  625.     Problem:
  626.         You are running a network. TbScanX is installed succesfully,
  627.         but it does not display the "*scanning*" message while
  628.         accessing files.  It also does not detect viruses.
  629.  
  630.     Solution:
  631.         Use the command 'TbDriver net' after the network has been
  632.         loaded.
  633.  
  634.     Problem:
  635.         It is impossible to start a TSR after TbScanX has been loaded.
  636.         The TSR software reports that it already has been loaded in
  637.         memory, which is not true.
  638.  
  639.     Solution:
  640.         Use the 'compat' switch of TbScanX while loading it. The TSR
  641.         and TbScanX are using the same multiplex interrupt call.
  642.  
  643.     Problem:
  644.         The system sometimes hangs when the message "*scanning*" is on
  645.         the screen. The problem however is hard to reproduce.
  646.  
  647.     Solution:
  648.         Try using StackMan. StackMan is supplied in the TBAV package.
  649.  
  650.         If StackMan doesn't help, try TbScanX without option 'EMS' or
  651.         'XMS'. If TbScanX now works without problems, add option 'EMS'
  652.         or 'XMS' again along with option 'compat'.
  653.  
  654.         On some systems it is possible that the 'XMS' option of TbScanX
  655.         can not be used at all. This because the use of extended memory
  656.         by resident software is not allowed on your system.
  657.  
  658.  
  659.  
  660.  
  661.                                     Page 10
  662.  
  663.  Thunderbyte resident virus scanner. (C) 1989-1993 Thunderbyte B.V.
  664.  
  665.  
  666.     Problem:
  667.         Everything works well, but as soon as I load a specific TSR the
  668.         system hangs immediately after the TSR goes resident. The
  669.         TbScanX option 'compatx' does not solve the problem.
  670.  
  671.     Solution:
  672.         Use StackMan with the -dos option and try again.
  673.  
  674.  
  675.   3.2.  Reducing the memory requirements.
  676.  
  677.     Most PC users try to maintain as much free DOS memory as possible.
  678.     TbScanX is designed to use only a little amount of DOS memory. To
  679.     decrease the memory requirements of TbScanX even further do the
  680.     following:
  681.  
  682.     -   Load TbScanX from within the Config.Sys file. If loaded as a
  683.         device driver TbScanX has no Program Segment Prefix (PSP),
  684.         and that saves 256 bytes.
  685.  
  686.     -   If you invoke TbScanX from within the Autoexec.Bat file do this
  687.         before establishing environment variables. DOS maintains a list
  688.         of environment variables for every resident program, so keep
  689.         this list small while installing TSRs. Once all TSRs are
  690.         installed you can define all environment variables without
  691.         affecting the memory requirements of the TSRs.
  692.  
  693.     -   Use swapping. By using one of the options 'ems' or 'xms'
  694.         TbScanX swaps itself to non-DOS memory, leaving only 1 Kb of
  695.         code in DOS memory. Swapping to expanded memory ('ems') is
  696.         preferred.
  697.  
  698.     -   If you have DOS 5 or higher try to load TbScanX into an upper
  699.         memory block using the "loadhigh" or "devicehigh" commands. It
  700.         is recommended to enable swapping also to limit the usage of
  701.         upper memory. A "hole" of 10Kb should be sufficient to load
  702.         TbScanX into upper memory while using option 'ems'.  If you
  703.         don't use swapping TbScanX also needs memory to store the
  704.         signatures. If you enable XMS swapping TbScanX needs to build
  705.         the data structures in normal memory before copying them to
  706.         XMS. This causes TbScanX to require additional memory at
  707.         initialization time.
  708.  
  709.     -   Use one of the processor specific versions of TbScanX. They all
  710.         consume less memory than the generic version of TbScanX.
  711.         Processor optimized versions are available on any Thunderbyte
  712.         support BBS.
  713.  
  714.     -   To minimize the signature data you can consider to specify the
  715.         'noboot' option. In this case TbScanX does not maintain data for
  716.         bootsector viruses.
  717.  
  718.  
  719.  
  720.  
  721.                                     Page 11
  722.  
  723.  Thunderbyte resident virus scanner. (C) 1989-1993 Thunderbyte B.V.
  724.  
  725.  
  726.   3.3.  How many viruses does it detect?
  727.  
  728.     Some people think that TbScanX recognizes only 750 viruses, based
  729.     upon the fact that the signature file contains only 750 signatures.
  730.     What they do not realise is that the signatures are family
  731.     signatures, which means that each signature covers many viruses.
  732.     For instance, our PLO/Jerusalem signature detects over 100 viruses
  733.     which are all related to the 'original' Jerusalem virus! Only one
  734.     (wildcarded) signature is needed by TbScanX to cover all these
  735.     mutants.
  736.  
  737.     Some competitive products treat each virus mutant as a separate
  738.     virus, and so claim to detect over 2000 viruses. However, TbScanX
  739.     detects even more viruses using 'only' 750 signatures.
  740.  
  741.  
  742.  
  743.  
  744.  
  745.  
  746.  
  747.  
  748.  
  749.  
  750.  
  751.  
  752.  
  753.  
  754.  
  755.  
  756.  
  757.  
  758.  
  759.  
  760.  
  761.  
  762.  
  763.  
  764.  
  765.  
  766.  
  767.  
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.  
  781.                                     Page 12
  782.  
  783.  Thunderbyte resident virus scanner. (C) 1989-1993 Thunderbyte B.V.
  784.  
  785.  
  786. 4.  APPLICATION INTERFACE
  787.  
  788.  
  789.     If you are a software developer you can use TbScanX to check data
  790.     for viruses. A program can perform a self-check as soon as it is
  791.     invoked by sending its code to TbScanX.
  792.  
  793.     The interface consists of some multiplex calls (int 2Fh). Register
  794.     AH should contain CAh.  Register AL contains the function request
  795.     number.
  796.  
  797.     On the Thunderbyte support BBS you will find additional information,
  798.     examples and libraries.
  799.  
  800.  
  801.     Supported function requests:
  802.  
  803.  
  804.     AL=0    InstallationCheck
  805.  
  806.         Return value:
  807.         AL=0    TbScanX not installed
  808.         AL=FFh  TbScanX installed
  809.  
  810.         If BX was 'TB' then it is now changed into 'tb'.
  811.  
  812.  
  813.     AL=1    GetStatus
  814.  
  815.         Return value:
  816.         AH      Version number TbScanX in BCD. (CAh if version < 2.2)
  817.         AL=0    TbScanX disabled
  818.         AL=1    TbScanX enabled
  819.         BX      Segment swap area. Zero if not swapped.
  820.         CX      Number of signatures that will be searched.
  821.         DX      EMS_Handle. -1 if no expanded memory in use.
  822.                 If DX is not equal to -1 but BX contains zero then
  823.                 TbScanX uses XMS swapping. DX contains the XMS handle
  824.                 in that case.
  825.  
  826.  
  827.     AL=2    SetStatus
  828.  
  829.         BL=0    Disable TbScanX
  830.         BL=1    Enable TbScanX
  831.  
  832.         Return value:
  833.         NONE
  834.  
  835.  
  836.     AL=4    ScanFile
  837.  
  838.  
  839.  
  840.  
  841.                                     Page 13
  842.  
  843.  Thunderbyte resident virus scanner. (C) 1989-1993 Thunderbyte B.V.
  844.  
  845.  
  846.         DS:DX   Name of the program file to be scanned.
  847.  
  848.         Return value:
  849.         No Carry flag set       No signature found in file.
  850.         Carry:                  Signature found in buffer!
  851.                 ES:BX   ASCIIZ-name of virus (null terminated)
  852.  
  853.         Registers altered:
  854.         AX,BX,CX,DX,ES
  855.  
  856.  
  857.  
  858.    Assembler example:
  859.  
  860.         mov ah,0CAh             ;Multiplex number
  861.         mov al,0
  862.         int 02Fh                ;Installation check
  863.         cmp al,0FFh             ;If AL=FFh TbScanX has been installed.
  864.         jne notinstalled        ;Else TbScanX has not been installed.
  865.  
  866.         lea dx,filename         ;Name of the file to be scanned.
  867.         mov ah,0CAh             ;Multiplex number
  868.         mov al,4
  869.         int 02Fh                ;ScanFile
  870.         jnc notinfected         ;No carry? Then no virus found!
  871.  
  872.         call print              ;Virus found. Print name ES:BX
  873.  
  874.     notinfected:
  875.  
  876.  
  877.  
  878.  
  879.  
  880.  
  881.  
  882.  
  883.  
  884.  
  885.  
  886.  
  887.  
  888.  
  889.  
  890.  
  891.  
  892.  
  893.  
  894.  
  895.  
  896.  
  897.  
  898.  
  899.  
  900.  
  901.                                     Page 14